import math
import random


# seed_value生成随机数的种子， total_hours是小时数
# average_failure_rate 平均故障率
def gen_crane_failure(seed_value=1,
                      total_hours=1000,
                      average_failure_rate=1 / 500
                      ):
    # 设置种子
    random.seed(seed_value)
    # 存储故障时间的列表
    failure_times = []
    # 模拟故障事件
    current_time = 0
    while current_time < total_hours:
        # 生成下一个故障时间
        time_to_failure = -1 / average_failure_rate * math.log(random.random())
        print("time_to_failure=", time_to_failure)
        # 更新当前时间
        current_time += time_to_failure

        # 将故障时间添加到列表中
        failure_times.append(current_time)
    # 输出故障时间
    print(failure_times)


for seed_value in range(42, 43):
    print(42)
    gen_crane_failure(seed_value)
